package com.carleasoft.mps.cms.business.education.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.cms.business.education.bean.entity.EducationEntity;
import com.carleasoft.mps.cms.business.education.bean.entity.EducationCollectEntity;
import com.carleasoft.mps.cms.business.education.bean.entity.EducationBasicEntity;
import com.carleasoft.mps.cms.business.education.bean.po.EducationDoorPagePo;
import com.carleasoft.mps.cms.business.education.bean.po.EducationPageQueryPo;
import com.carleasoft.mps.cms.business.education.bean.po.EducationPo;
import com.carleasoft.mps.cms.business.education.bean.po.EducationCodePo;
import com.carleasoft.mps.cms.business.education.bean.vo.*;
import com.carleasoft.mps.cms.business.education.bean.vo2.EduVo;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author: yangHao
 * @createDate:2023/5/18
 * @description:
 */
public interface EduDoorService extends IService<EducationBasicEntity> {
    boolean saveResource(EducationPo educationPo, HttpServletRequest request);

    boolean updateResource(EducationPo educationPo, HttpServletRequest request);

    boolean top(EducationPo educationPo);

    boolean delete(EducationPo educationPo);

    EducationCollectVo detail(EducationPo educationPo);

    Page<EduPageQueryVo> pageQuery(Page page, EducationPageQueryPo educationPageQueryPo, HttpServletRequest request);

    List<EduCategoryVo> getEducationByCategory(EducationPo educationPo);

    List<EduDoorListVo> doorList(EducationDoorPagePo educationDoorPagePo);

    List<EduDoorVo> doorEducation();

    List<EduVo> getEduInfo(EducationDoorPagePo educationDoorPagePo);

    boolean viewDetail(EducationPo educationPo, HttpServletRequest request);

    Page<EduPageQueryVo> doorPageQuery(Page page, EducationPageQueryPo educationPageQueryPo, HttpServletRequest request);

    List<EducationEntity> getEducation();

    List<EducationCollectEntity> getCategory(EducationEntity reasourceEntity);

    EduWorkCountVo workbenchCount();

    List<EduCountVo> webCount();

    boolean importExcel(EducationCodePo educationCodePo, HttpServletResponse response);
}
